home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / Pascal PPC folder / MW Pascal PPC 1.0d3 note < prev   
Encoding:
Text File  |  1994-09-25  |  5.1 KB  |  101 lines  |  [TEXT/MPCC]

  1. MW Pascal PPC 1.0d3 - Release notes
  2.  
  3. Fixed since MW Pascal PPC 1.0d1.
  4.  
  5.     - Fixed I/O performed on FP constants, expressions and variables.
  6.     - Fixed a bug in converting char expressions to strings.
  7.     - Fixed many bugs in parameter passing for FP values and expressions.
  8.     - Fixed calling conventions for opening a file of ...
  9.     - Fixed some bugs in typecasting for structured types.
  10.     - Fixed StringOf for real values.
  11.     - Fixed a bug in pos when looking for a missing single char target.
  12.     - Fixed a bug in concat that corrupted the caller's stack.
  13.     - Fixed a bug in passing and returning 1-byte sets.
  14.     - Fixed a bug in calling conventions for all std routines handling FP values.
  15.     - Fixed a bug in write that prevented functions returning strings <= 4 bytes from being
  16.         actual parameters.
  17.     - Fixed a bug with packed arrays of boolean when the array index is a constant and the
  18.         value assigned is also a constant.
  19.     - Enabled lvalue type casting on function returns.
  20.     - Fixed a bug with the typecast of a by-var parameter as the expression of a with statement.
  21.     - Fixed a bug in BE for functions returning strings, the parameters weren't popped by the
  22.         callee.
  23.     - Fixed a bug in casting of ordinal types to pointer types.
  24.     - Enabled casting of integer constants to small arrays of something different that chars.
  25.     - Fixed a bug in parsing parameter declarations, if the parameter list started with ((, it
  26.         caused the compiler to hang.
  27.     - In some cases, a FP value was badly placed in precompiled units.
  28.     - Fixed many bugs related to parameter accessed thru nested functions.
  29.     - Fixed a bug with unsigned ranges in packed arrays.
  30.     - Fixed a bug with reading/writing of OSTYPEs.
  31.     - Fixed a bug with accessing an OSTYPE array element.
  32.     - Fixed a bug for the passing of a local routine to a routine.
  33.     - Fat binary.
  34.     - Added some glue to be able to call UPP.
  35.     - Added some glue for PBxxx routines that use a boolean to indicates sync or async IO.
  36.     - Some other problems were common to both 68K and PPC because of the shared front-end,
  37.       these problems are not listed here.
  38.  
  39. Known problems and limitations
  40.  
  41.     - input^ and output^ generate bogus code.
  42.     - Non-local gotos and exits are not supported.
  43.     - runtime range and overflow checking not implemented.
  44.  
  45. Make utility
  46.     - The make utility is rewritten and working, remove all binaries and compact your projects
  47.       before using the new make command. The algorithm & implementation are faster than with
  48.       the previous implementation. The direct compilation of a unit (cmd-K) will compile
  49.       only the implementation if the interface wasn't changed, otherwise the entire file is
  50.       compiled. If you have dependencies for which the units weren't compiled, you'll get
  51.       unit wasn't compiled, use the make command instead. There's a timestamp for every
  52.       project's unit interface compiled, these timestamps are used by the make utility to
  53.       compute the needed recompilations. There's no timestamp in libraries, so if you modify
  54.       a lib's interface and make a lib out of that project to use in another project you
  55.       should remove the binaries and remake the project, I choosed to use this approach
  56.       because it's less likely that someone changes a lib interface than a lib implementation.
  57.     - The make utility can generate a trace of the compilations, to enable this function
  58.       you have to check the 'generate make map file' from the Language preferences settings.
  59.       (If the make detects a cycle, use this option to print the files involded in it.)
  60.     
  61. Preprocessor
  62.     - MWERKS is defined as TRUE.
  63.     - MAC68K is defined as FALSE.
  64.     - POWERPC is defined as TRUE.
  65.     - the following options are not supported, but will be
  66.         $OV, $R,
  67.     - the following options won't be supported
  68.         $MC680x0, $MC6888x, $B, $C, $H, $N, $A1, $A5, $E, $K, $P, $W, $D
  69.  
  70. Extensions
  71.     - QuickDraw global variables (thePort, ...) are now contained in a record variable
  72.       named qd. (See Sillyballs.p or TubeTest.p, to see its usage).
  73.     - Procedural types are supported, see the documentation ...
  74.     - Objects can be propagated through USES clauses with the Uses propagation switch.
  75.     - Directives in the prefix file must use the preprocessor's syntax.
  76.     - Screen oriented I/O are triggered by the first I/O call made without a file descriptor. 
  77.  
  78. Interfaces
  79.     - You have to include MacIntf(UPI).lib to access Macintosh interfaces. The 2.0a1
  80.       interfaces are a development release of the Pascal universal interfaces from
  81.       Apple, please read the included release notes.
  82.       
  83. Libraries
  84.     - ANS libraries are specific to ANS compliant programs and should only be used when
  85.       building Standard Pascal programs. The Universal Library retains the same behaviour
  86.       as MPW's Pascal runtime, they're built on top of the Universal Interfaces and the
  87.       new Mathlib from Apple. Libraries for ANSI-C functions are included in the runtime
  88.       libraries.
  89.  
  90. -----------------------------------------------------------------------------
  91. Marcel Achim    Pascal Compilers Product Architect
  92.  
  93.  
  94. Bug Reports, Suggestions, and Technical Questions
  95. `````````````````````````````````````````````````
  96.  
  97. Please send in your bug reports using the email Bug Report, Suggestion or Tech Question
  98. templates stored in the release notes folder. Send reports to support@metrowerks.com.
  99.  
  100.  
  101.